
import { StatusEnum } from './warehouse-input';
import { Search } from './search';




/**
 *
 * @export
 */
/**
 * WCS任务管理
 * 
 * 
 * @export
 * @interface WcstaskInput
 */
export interface WcstaskInput {

    /**
     * 雪花ID
     * @type {number}
     * @memberof WarehouseInput
     */
    id: number;
    /**
     * 任务号
     * @type {string}
     * @memberof WcstaskInput
     */
    taskNumber: string;

    /**
     * 任务下发时间
     * @type {Date}
     * @memberof WcstaskInput
     */
    downDate: Date;

    /**
     * 任务完成时间
     * @type {Date}
     * @memberof WcstaskInput
     */
    finishDate: Date;
     /**
     * 提升机口
     * @type {string}
     * @memberof WcstaskInput
     */
     hoistOpening: string;
      /**
     * 物料号
     * @type {string}
     * @memberof WcstaskInput
     */
      materialCode: string;
       /**
     * 托盘码
     * @type {string}
     * @memberof WcstaskInput
     */
       trayCode: string;

    
    /**
     * 任务状态枚举
     * @type {TaskStatusEnmu}
     * @memberof WcstaskInput
     */
    // 原代码可能存在拼写错误，推测是 status
    status: TaskStatusEnmu;

    /**
     * 任务类型枚举
     * @type {number}
     * @memberof WcstaskInput
     */
    type: number;

    /**
     * SN码
     * @type {string}
     * @memberof WcstaskInput
     */
    sn: string;

    /**
     * 暂存渠道
     * @type {string}
     * @memberof WcstaskInput
     */
    channel: string;

    /**
     * 发送次数
     * @type {number}
     * @memberof WcstaskInput
     */
    countNumber: number;

    /**
     * 响应结果
     * @type {Date}
     * @memberof WcstaskInput
     */
    // 原代码可能存在拼写错误，推测是 response
    resPonse: Date;

    /**
     * 启用状态
     * @type {StatusEnum}
     * @memberof WcstaskInput
     * @default StatusEnum.Enable
     */
    isenable: StatusEnum ;

}
  


// 转换 C# 风格的 TaskStatusEnmu 枚举为 TypeScript 枚举
export enum TaskStatusEnmu {
  NoStarte = 1,
  Underay = 2,
  Back = 3,
  Completed = 4,
  Cancelled = 5
}

/**
 * 定义 WCS任务删除 接口，用于删除仓库的输入参数
 */
export interface DeleteTaskInput  {
  /**
   * 主键Id
   *
   * @type {number}
   * @memberof DeleteTaskInput
   */
  id: number;
  taskId:number;
}


